
\section{泰勒公式与泰勒级数}
\label{sec:sec-taylor-formular}



\subsection{泰勒公式与麦克劳林公式}
\label{sec:taylor-formular}

在洛必达法则的例子中已经看到，反复应用洛必达法则可以得出一个函数的多项式逼近，这一节就来讨论这个问题。

假定函数$f(x)$在$x_0$处具有各阶导数（即直到接下来出现到的阶的导数），那么由连续性，$f(x)-f(x_0)$必然是一个无穷小($x \to x_0$)，为了寻求这个无穷小的阶，将其与$x-x_0$这个基本无穷小进行比较，即求极限
\[ \lim_{x \to x_0} \frac{f(x)-f(x_0)}{x-x_0} \]
由洛必达法则，假定函数的一阶导数连续(尤其是二阶可导)，上式的极限就是$f'(x_0)$，于是
\[ \frac{f(x)-f(x_0)}{x-x_0} = f'(x_0) + o(1) \]
或者改写为
\[ f(x) = f(x_0) + f'(x_0) (x-x_0) + o(x-x_0) \]
记
\[ T_1(x) = f(x_0)+f'(x_0)(x-x_0) \]
显然$T_1(x)$是一个一次多项式，并且与$f(x)$在$x_0$处具有相同的函数值以及一阶导数值，即
\[ f(x_0) = T_1(x_0), \  f'(x_0) = T_1'(x_0) \]

再考虑$f(x)-T_1(x)$，它是$x-x_0$的高阶无穷小，因此将它与$(x-x_0)^2$比较，即求极限
\[ \lim_{x \to x_0} \frac{f(x)-T_1(x)}{(x-x_0)^2} \]
假定$f(x)$二阶可导并且二阶导数连续，连续两次应用洛必达法则，得
\[ \lim_{x \to x_0} \frac{f(x)-T_1(x)}{(x-x_0)^2} = \lim_{x \to x_0} \frac{f'(x)-T_1'(x)}{2(x-x_0)} = \lim_{x \to x_0} \frac{f''(x)}{2} = \frac{1}{2} f''(x_0) \]
于是
\[ \frac{f(x)-T_1(x)}{(x-x_0)^2} = \frac{1}{2}f''(x_0) + o(1) \]
或者写成
\[ f(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{1}{2}f''(x_0)(x-x_0)^2 + o((x-x_0)^2) \]
并记
\[ T_2(x) =  f(x_0) + f'(x_0)(x-x_0)+\frac{1}{2}f''(x_0)(x-x_0)^2 \]
则$T_2(x)$与$f(x)$在$x_0$处具有相同的函数值以及一阶导数和二阶导数。

同样，假定函数存在连续的三阶导数，那么还有
\[ f(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\frac{f'''(x_0)}{3!}(x-x_0)^3 + o((x-x_0)^3) \]
如果还具有连续的四阶导数，则还有
\[ f(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\frac{f'''(x_0)}{3!}(x-x_0)^3+\frac{f^{(4)}(x_0)}{4!}(x-x_0)^4 + o((x-x_0)^4) \]
照此下去，如果函数$f(x)$在$x_0$的邻域上存在直到$n$阶的连续导函数，那么
\[ f(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+ \cdots +\frac{f^{(n)}(x_0)}{n!}x^n + o((x-x_0)^n) \]
记
\[ T_n(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+ \cdots +\frac{f^{(n)}(x_0)}{n!}x^n \]
这个多项式就称为函数$f(x)$在$x_0$处的泰勒多项式，它的主要特征是，它与$f(x)$在$x_0$处具有相同的函数值以及一阶导数、二阶导数直到$n$阶导数(函数值也可以被视为零阶导数)，即
\[ f(x_0)=T_n(x_0), \ f'(x_0) = T_n'(x_0), \  f''(x_0) = T_n''(x_0), \ \ldots, \  f^{(n)}(x_0) = T_n^{(n)}(x_0) \]
而函数的展开式则可以写成
\[ f(x) = T_n(x) + o((x-x_0)^n) \]
称为函数$f(x)$在$x_0$处的\emph{泰勒展开公式}.

于是我们得到如下的著名定理
\begin{theorem}[泰勒(Taylor)定理]
  如果函数$f(x)$在$x_0$的邻域内有直到$n$阶的导函数，作泰勒多项式
\[ T_n(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+ \cdots +\frac{f^{(n)}(x_0)}{n!}x^n \]
则有
\[ f(x_0)=T_n(x_0), \ f'(x_0) = T_n'(x_0), \  f''(x_0) = T_n''(x_0), \ \ldots, \  f^{(n)}(x_0) = T_n^{(n)}(x_0) \]
并且有下式成立
\[ f(x) = T_n(x) + o((x-x_0)^n) \]
这就是($n$阶)\emph{泰勒(Taylor)公式}，其中的余项$o((x-x_0)^n)$称为\emph{佩亚诺余项}.
\end{theorem}

我们用数学归纳法来证明.
\begin{proof}[证明]
  我们记
  \[ R_n(x) = f(x) - T_n(x) \]
  显然有
  \[ R_n(x_0) = R_n'(x_0) = \cdots = R_n^{(n)}(x_0) = 0 \]
  因此只要证明在这个条件下有
  \[ R_n(x) = o((x-x_0)^n) \]
  就可以了。
  
  当$n=1$时，由导数意义，有
  \[ \frac{R_1(x)-R_1(x_0)}{x-x_0} = R_1'(x_0) + o(1) \]
  注意到$R_1(x_0)=R_1'(x_0)=0$，所以
  \[ R_1(x) =  o(x-x_0) \]
  结论成立，假定定理对于$n$也是成立的，则看$n+1$的情形，此时设
  \[ S(x) = R_{n+1}'(x) \]
  就有
  \[ S(x_0) = S'(x_0) = \cdots = S^{(n)}(x_0) = 0 \]
  因此由归纳假设，有
  \[ S(x) = o((x-x_0)^n) \]
  再由洛必达法则，有
  \[ \lim_{x \to x_0} \frac{R(x)}{(x-x_0)^{n+1}} = \lim_{x \to x_0} \frac{S(x)}{(n+1)(x-x_0)^n} = 0 \]
  即
  \[ R_{n+1}(x) = o((x-x_0)^{n+1}) \]
  由归纳法，定理成立。
\end{proof}

注意到，在前面的推导过程中，我们要求函数具有直到$n$阶的连续导函数，但在这个定理的证明过程中，第$n$阶导函数是否连续并没有用到，这是为什么呢，用前面推导到二阶展开式那里的情况说明，那时有
\[ \lim_{x \to x_0} \frac{f(x)-T_1(x)}{(x-x_0)^2} = \lim_{x \to x_0} \frac{f'(x)-T_1'(x)}{2(x-x_0)} = \lim_{x \to x_0} \frac{f''(x)}{2} = \frac{1}{2} f''(x_0) \]
最后一步，求极限$\lim_{x \to x_0} f''(x_0)$，那里我们是假定二阶导函数连续，得出这个极限为$f''(x_0)$的，但实际上由导函数连续性定理可知，如果这个极限存在，设为$K$，那么函数在$x_0$处必然存在二阶导数，且$f''(x_0)=K$，所以我们不要求二阶导数在$x_0$处连续，仅要求$f''(x_0)$存在就行，只要存在就必然连续，所以定理中的条件就减弱为在$x_0$的邻域上存在直到$n$阶的导函数。

在泰勒公式中，取$x_0 = 0$，我们就得到如下的\emph{麦克劳克(Maclaurin)公式}:
\[ f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \cdots + \frac{f^{(n)}(0)}{n!}x^n + o(x^n) \]

\begin{example}
  既然公式是函数的多项式展开，那么多项式函数自己的展开式会是什么样呢？ 设多项式函数
  \[ f(x) = a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0 \]
  先写出它的$n$阶泰勒多项式
\[ T_n(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+ \cdots +\frac{f^{(n)}(x_0)}{n!}x^n \]
可以发现，它也是一个$n$次多项式，按泰勒定理，这两个多项式相差一个$(x-x_0)^n$的高阶无穷小，我们指出，对于$n$次多项式函数$f(x)$而言，它与它的$n$阶泰勒展开式的差值是零，也就是
\[ f(x) = T_n(x) \]
我们利用归纳法证明下面的结论，有了下面这个结论，这里的结论也就成立了。

\begin{statement}
  如果两个次数不超过$n$次的多项式$f(x)$与$g(x)$在$x_0$处直到$n$阶的导数值都相同，即
  \[ f'(x_0) = g'(x_0), \  f''(x_0) = g''(x_0), \  \ldots, \  f^{(n)}(x_0) = g^{(n)}(x_0) \]
  则这两个多项式仅相差一个常数，即$f(x)-g(x)=C$，这里$C$是一个固定的常数.
\end{statement}

显然结论对于常数多项式和一次多项式均成立，假设结论对于$\leqslant n$的情况都成立，现在假定$f(x)$和$g(x)$都是$n+1$次多项式，并且在$x_0$处两者具有相同的直到$n+1$阶的导数，那么它们的导数$f'(x)$和$g'(x)$在$x_0$处就具有相同的直到$n$阶导数，根据归纳假设，存在常数$C_1$，使得$f'(x)-g'(x)=C_1$，但由于$f'(x_0)=g'(x_0)$，所以$C_1=0$，即$f'(x)=g'(x)$，于是对于多项式$h(x)=f(x)-g(x)$有$h'(x)=0$，于是$h(x)$只能是常数多项式，即$h(x)=f(x)-g(x)=C$.
\end{example}

如果把函数值视为零阶导数，那么这个命题可以改叙为以下更为美观的形式
\begin{statement}
  如果两个次数不超过$n$次的多项式$f(x)$与$g(x)$在$x_0$处从零阶直到$n$阶的导数值都相同，即
  \[ f(x_0)=g(x_0), \  f'(x_0) = g'(x_0), \  f''(x_0) = g''(x_0), \  \ldots, \  f^{(n)}(x_0) = g^{(n)}(x_0) \]
  则这两个多项式相等.
\end{statement}

有了这结论之后，由于$n$次多项式$f(x)$与它的$n$阶泰勒多项式在$x_0$具有相同的直到$n$阶的导数，因此它俩仅相差一个常数，但又由于$f(x_0)=T_n(x_0)$，所以有$f(x)=T_n(x)$.

\subsection{拉格朗日余项}
\label{sec:taylor-additional-of-lagrange}

在泰勒公式成立的基础上，以下讨论假设函数$f(x)$在$x_0$的邻域还存在$n+1$阶导数.

函数$R_n(x)$ 与$S_n(x)=(x-x_0)^{n+1}$ 满足 $R_n(x_0)=0,S_n(x)=0$，因此由柯西中值定理，在 $x$与$x_0$之间存在$c_1$满足
\[ \frac{R_n(x)}{(x-x_0)^{n+1}} = \frac{R_n(x)}{S_n(x)} = \frac{R_n(x)-R_n(x_0)}{S_n(x)-S_n(x_0)} = \frac{R_n'(c_1)}{S_n'(c_1)} = \frac{R_n'(c_1)}{(n+1)(c_1-x_0)^n} \]
同样有 $R_n'(x_0)=0$，且分母 $S_n'(x)=(n+1)(c_1-x_0)^n$ 也在 $x_0$处取零值，再次应用柯西中值定理有
\[  \frac{R_n'(c_1)}{(n+1)(c_1-x_0)^n} = \frac{R_n'(c_1)}{S_n'(c_1)} =  \frac{R_n'(c_1)-R'_n(x_0)}{S_n'(c_1)-S'_n(x_0)} = \frac{R''_n(c_2)}{S''_n(c_2)} = \frac{R''_{n}(c_2)}{(n+1)n(c_2-x_0)^{n-1}} \]
其中$c_2$位于 $c_1$与$x_0$之间，同样的过程可以继续下去，在经过$n$次使用柯西中值定理后，存在$c_n$位于$c_{n-1}$与$x_0$之间，使得
\[ \frac{R_n(x)}{(x-x_0)^{n+1}} = \frac{R^{(n)}_n(c_n)}{(n+1)!(c_n-x_0)} \]
这时由于$f(x)$在$x_0$的邻域内存在$n+1$阶导数，因此$R_n(x)$也同样存在$n+1$阶导数，因此这个过程还可以再进行一次，得到的结果就是，存在$c_{n+1}$位于$c_n$与$x_0$之间(从而也位于$x$与$x_0$之间)，使得
\[ \frac{R_n(x)}{(x-x_0)^{n+1}} = \frac{R^{(n+1)}_n(c_{n+1})}{(n+1)!} \]
于是得到
\begin{theorem}
  如果函数$f(x)$在$x_0$的邻域内存在$n+1$阶导数，那么泰勒余项$R_n(x)$可以写为
\[ R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} \]
其中$\xi$位于$x$与$x_0$之间.
\end{theorem}

这个表达的意义在于，泰勒公式仅仅是将余项定性为$(x-x_0)^{n+1}$的高阶无穷小，但拉格朗日余项则定量的给出了具体的表达式(含有中值).

\subsection{泰勒级数}
\label{sec:taylor-series}

泰勒公式成立的条件是函数$f(x)$在$x_0$的邻域内有直到$n$阶的导函数，公式可以展到 $(x-x_0)^n$，如果函数在这邻域内存在任意阶的导函数，那么这个公式就可以无限写下去，成为一个无穷级数，即
\[ f(x) = f(x_0) + f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\cdots+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+\cdots \]
或者按照级数的写法
\[ f(x) = f(x_0) + \sum_{n=1}^{\infty} \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \]
如果把函数值$f(x_0)$视为函数在$x_0$处的零阶导数，那么第一项也可以归级数中去:
\[ f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \]
这个级数就称为\emph{泰勒级数}，但它是否收敛，以及是否收敛到$f(x)$目前还是未知的.

记右侧级数的部分和为$T_n(x)$，它就是函数$f(x)$在$x_0$处展到$n$阶导数的泰勒多项式，泰勒公式刻画了 $f(x)-T_n(x)$ 在$x\to x_0$时会成为$(x-x_0)^n$的高阶无穷小，但泰勒级数要收敛，就需要$f(x)-T_n(x)$对于固定的$x$当$n\to\infty$时能够成为无穷小，即下面的定理
\begin{theorem}
  如果函数$f(x)$在$x_0$的邻域内存在任意阶导数，那么它的泰勒级数
  \[ \sum_{n=0}^{\infty} \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \]
  收敛到$f(x)$的充分必要条件是泰勒余项$R_n(x)$满足
  \[ \lim_{n \to \infty} R_n(x) = 0 \]
\end{theorem}

如果我们把余项 $R_n(x)$ 写成拉格朗日的形式
\[ R_n(x) = \frac{f^{(n)}(\xi)}{(n+1)!}(x-x_0)^n \]
根据已知极限 \autoref{example:limit-of-a-power-n-devide-by-n-fraction}，如果我们能保证 $f^{(n)}(x)$在 $x$ 与 $x_0$ 之间取值有界的话，那么便有 $\lim_{n\to\infty}R_n(x)=0$，于是便得
\begin{theorem}
  如果函数$f(x)$在 $x_0$的邻域内存在任意阶导数，且所有阶的导函数在 $x$ 与 $x_0$ 之间存在共同的界，即存在 $L>0$ 使得 $|f^{(n)}(t)|\leqslant L$对所有的正整数$n$和 $x$与$x_0$之间所有的$t$成立，那么泰勒级数收敛到 $f(x)$.
\end{theorem}

接下来，我们就来将我们已知的初等函数展开成为泰勒公式和泰勒级数的形状.

\subsection{幂函数的泰勒展开}
\label{sec:taylor-expand-for-power-function}


1. 幂函数$f(x)=x^p(x>0,p\in R)$.

由于它已经是在$x=0$处的展开式了，所以我们考虑它在$x=1$处的泰勒展开，在作代换$t=x-1$之后，实际就是要求函数$f(t)=(1+t)^p(t>-1)$在$t=0$处的展开式，我们还是用$x$来替换$t$，它的$n$阶导数是
\[ f^{(n)}(x) = p(p-1)\cdots (p-n+1)(1+x)^{p-n} \]
故函数 $f(x)=(1+x)^p(x>-1)$ 在 $x=0$ 处的泰勒展开式是
\[ (1+x)^p = 1 + px + \frac{p(p-1)}{2!}x^2 + \cdots + \frac{p(p-1)\cdots (p-n+1)}{n!}x^n + o(x^n) \]
拉格朗日余项是
\[ R_n(x) = \frac{p(p-1)\cdots (p-n)(1+\xi)^{p-n}}{(n+1)!}x^{n+1} \]
而对于一般的实数$p$，高阶无穷小则不能省略，我们考虑泰勒级数，根据泰勒级数收敛的充分条件，其$n$阶导数在 $0$与$x$之间显然是有界的，因此泰勒级数收敛到$f(x)$，由$x$的任意性即知它的泰勒级数在$(-1,+\infty)$上都收敛到$f(x)$:
\[ (1+x)^p = 1+px+\frac{p(p-1)}{2!}x^2+\cdots+\frac{p(p-1)\cdots(p-n+1)}{n!}x^n+\cdots \]
这式子可以看作是二项式定理的推广，它被称为\emph{牛顿二项式定理}.

在式中令$p=-1$，并将$x$替换为$-x$，得(注意收敛范围是$x<1$，当$x>1$时左右两边符号是相反的)
\[ \frac{1}{1-x} = 1+x+x^2 + \cdots + x^n + \cdots \]
同样，取$p=\frac{1}{2}$，得
\[ \sqrt{1+x} = 1+\frac{1}{2}x-\frac{1}{8}x^2+\frac{3}{48}x^3 + \cdots \]
取$p=-\frac{1}{2}$，得
\[ \frac{1}{\sqrt{1+x}} = 1-\frac{1}{2}x+\frac{3}{8}x^2 -\frac{15}{48}x^3 + \cdots \]
这些公式可以用来对开方进行近似计算，误差则可以由拉格朗日余项给出.

\subsection{指数函数的泰勒展开}
\label{sec:taylor-expand-for-exp-function}

现在考虑指数函数$f(x)=\mathrm{e}^x$，由于指数函数的导函数仍然是自身，因此它的任意阶导函数都仍然是自身，因此它在 $x=0$ 处的泰勒公式是
\[ \mathrm{e}^x = 1+x+\frac{1}{2!}x^2 + \cdots + \frac{1}{n!}x^n + o(x^n) \]
拉格朗日余项为
\[ R_n(x) = \frac{\mathrm{e}^{\xi}}{(n+1)!}x^{n+1} \]
显然有
\[ 0<\frac{\mathrm{e}^{\xi}}{(n+1)!}x^{n+1} < \frac{max\{1, \mathrm{e}^x\}}{(n+1)!}x^{n+1} \to 0 (n \to \infty) \]
即
\[ \lim_{n\to\infty}R_n(x) = 0 \]
因此泰勒级数在$x$处收敛，由$x$的任意性即知在整个$R$上都成立着
\[ \mathrm{e}^x = \sum_{n=0}^{\infty}\frac{1}{n!}x^n = 1+x+\frac{1}{2!}x^2+\cdots+\frac{1}{n!}x^n+\cdots \]
取 $x=1$，就得到
\[ \mathrm{e} = \sum_{n=1}^{\infty}\frac{1}{n!} =  1 + \frac{1}{2!} + \cdots + \frac{1}{n!} + \cdots \]
这个重要结果我们在 \autoref{sec:a-import-sequence-limit} 中曾经得到过，现在它可以由指数函数的泰勒级数直接得出.

\subsection{对数函数的泰勒展开}
\label{sec:taylor-expand-for-ln-function}

接下来考虑对数函数$f(x)=\ln{x}$, 由于对数函数在$x=0$处无定义，所以我们考虑它在$x=1$处的展开式，实际上就是求$\ln{(1+x)(x>-1)}$在$x=0$处的展开式，根据我们在 \autoref{sec:high-level-derivative} 中所求得的对数函数的高阶导数
\[ \frac{\dif^n (\ln{(1+x)})}{\dif x^n} = \frac{(-1)^{n-1}(n-1)!}{(1+x)^n} \]
可得泰勒展式为
\[ \ln{(1+x)} = x - \frac{1}{2} x^2 + \frac{1}{3} x^3 - \cdots + \frac{(-1)^{n-1}}{n}x^n + o(x^n) \]
对应的拉格朗日余项为
\[ R_n(x) = \frac{(-1)^{n}}{(n+1)n(1+\xi)^n}x^{n+1} \]
固定$x(>-1)$，余项中的中值$\xi$位于$0$与$x$之间，显然有界(位于$0$与$\ln(1+x)$之间)


\subsection{三角函数的泰勒展开}
\label{sec:taylor-expand-for-triangle-function}

三角函数

对正弦函数，有
\[ \sin{x} = x - \frac{1}{3!}x^3 + \frac{1}{5!} x^5 - \cdots + \frac{(-1)^n}{(2n+1)!}x^{2n+1} + o(x^{2n+1}) \]
对于余弦函数，则是
\[ \cos{x} = 1 - \frac{1}{2!}x^2 + \frac{1}{4!}x^4 - \cdots + \frac{(-1)^n}{(2n)!}x^{2n} + o(x^{2n}) \]

\subsection{幂级数}
\label{sec:power-series}



%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../calculus-note"
%%% End: